This invention relates to network interface devices and methods for securely selecting the function set of an electronic device by means of a novel network interface device.
In order to maximise the value extracted from a new electronic product design, a manufacturer will often produce several different versions of the product which share the same basic hardware but differ in the functions they provide. This allows a manufacturer to charge different amounts for essentially the same hardware on the basis that less expensive models will have some of their functions disabled. Following this manufacturing paradigm allows a manufacturer to take advantage from the cost benefits of producing a single hardware design in large quantities, as opposed to producing several hardware designs in smaller quantities.
For example, a single microchip design can be produced with different function sets being enabled for different product lines at the time of manufacture. Chip functions may be enabled or disabled in hardware through the use of programmable registers defining the capabilities of the chip, through the use of external components connected to the chip so as to cripple certain functions, or by brute-force, such as removing external pins or destroying certain areas of the chip. Alternatively, chip functions may be enabled or disabled through the use of different versions of firmware operating on or in combination with the chip.
With respect to the use of firmware to enable or disable certain functions in hardware, it is well-known for firmware to be updateable by an end user through the use of software and hardware tools, or by replacing the chip carrying the firmware. However, these methods require the interaction of the end user (whose technical skill is unknown and could be very limited) and do not provide a secure channel through which updates to the product functionality can be applied. In some cases, it is also possible for programmable chip registers to be reset but this typically requires specialist hardware which is not available to the end user and requires the product to be returned to the vendor.
There is therefore a need for an improved method for securely modifying the functions provided by an electronic product that does not require the interaction of a skilled end-user or technician. For example, it would be advantageous to both the end user and the vendor if there were a mechanism by which the end-user could securely purchase a higher level of product functionality without requiring the end-user to upgrade the hardware of the electronic product. Similarly, it would be advantageous if there were a mechanism by which the configuration settings of a device could be securely managed on behalf of the end-user.